package cn.amao.pujinautotest;


import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.support.ui.ExpectedCondition;
import org.openqa.selenium.support.ui.WebDriverWait;

import java.io.File;
import java.net.URL;
import java.util.List;

import io.appium.java_client.AppiumDriver;
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.android.AndroidElement;

public class MyTestClass {

    //Driver
    private AppiumDriver<AndroidElement> driver;


    /**
     * 配置启动driver
     * @throws Exception
     */
    @Before
    public void setUp() throws Exception {

        /*File classpathRoot = new File(System.getProperty("user.dir"));
        //app的目录
        File appDir = new File(classpathRoot, "/src/main/java/apps/");
        //app的名字，对应你apps目录下的文件
        File app = new File(appDir, "ContactManager.apk");
        //创建Capabilities
        DesiredCapabilities capabilities = new DesiredCapabilities();
        //设置要调试的模拟器的名字
        capabilities.setCapability("deviceName","minote");
        //设置模拟器的系统版本
        capabilities.setCapability("platformVersion", "4.4.2");*/

        /**
         *     这里就可以设置测试的设备信息，appium端无需设置了。
         *     每次跑测试用例之前，必须先测试是否连接上设备
         */
        File classpathRoot = new File(System.getProperty("user.dir"));
        //app的目录
        File appDir = new File(classpathRoot, "/src/main/java/apps/");
        //app的名字，对应你apps目录下的文件
        File app = new File(appDir, "潽金金融1.0.7_2019-02-12_dailybuild.apk");
        //创建Capabilities
        DesiredCapabilities capabilities = new DesiredCapabilities();
        //设置要调试的模拟器的名字
        capabilities.setCapability("deviceName","OPPOR11");
        //设置模拟器的系统版本
        capabilities.setCapability("platformVersion", "4.4.2");

        //设置中文输入的属性，可以输入中文
        capabilities.setCapability("unicodeKeyboard", "True");
        capabilities.setCapability("resetKeyboard", "True");

        //设置app的路径
        capabilities.setCapability("app", app.getAbsolutePath());
        //设置app的包名
        capabilities.setCapability("appPackage", "cn.melonmobile.pujin");
        //设置app的启动activity
        capabilities.setCapability("appActivity", ".mvp.ui.activity.SplashActivity");
        //启动driver
        driver = new AndroidDriver<>(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);

    }

    @After
    public void tearDown() throws Exception {
        //测试完毕，关闭driver，不关闭将会导致会话还存在，下次启动就会报错
        driver.quit();
    }


 /*   *//**
     * 要执行的的测试方法
     *//*
    @Test
    public void testLogin(){
        TaquTools.waitForVisible(driver, By.xpath(".//*[@text='登录']"), 20);// 等待某元素加载，20S未能加载变为超时
        //利用类名获取界面上所有的EditText
        List<AndroidElement> textFieldsList = driver.findElementsByClassName("android.widget.EditText");
        //第一个EditText输入内容Some Name
        textFieldsList.get(0).sendKeys("A401");
        //第二个EditText输入内容电话
        textFieldsList.get(1).sendKeys("abcd1234");

        WebElement elLogin = driver.findElement(By.xpath(".//*[@text='登录']"));
        //点击这个控件
        elLogin.click();

    }*/


}
